package kzy.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import kzy.dto.SetmealDto;
import kzy.entiy.Setmeal;
import kzy.entiy.SetmealDish;
import kzy.mapper.SetmealMapper;
import kzy.service.SetmealDishService;
import kzy.service.SetmealService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * @Author 大溪地
 * @create 2023年05月26日22:14
 */
@Service
public class SetmealServiceImpl extends ServiceImpl<SetmealMapper, Setmeal> implements SetmealService {
    @Autowired
    SetmealDishService setmealDishService;

    /**
     * 添加套餐
     * @param setmealDto
     */
    @Override
    @Transactional
    public void addSetmeal(SetmealDto setmealDto ) {
//        获取当前时间的毫秒值
        long l = System.currentTimeMillis();
//        自己写了一个id算法
        l=(l /2)-5;
//        保存套餐的基本信息  现在这里面没有 id
        setmealDto.setId(l);
        super.save(setmealDto);
//···   获取套餐中的菜品信息
        List<SetmealDish> setmealDishes = setmealDto.getSetmealDishes();
        for (int i = 0; i < setmealDishes.size(); i++) {
//            设置这些菜品属于该菜品下  就是设置 菜品和套餐关系表中的 套餐id
            setmealDishes.get(i).setSetmealId(l);
        }
//        批量保存 该套餐下的菜品
        setmealDishService.saveBatch(setmealDishes);

    }


}
